package com.dd.probe.common.pojo.BO;

import lombok.Data;
import lombok.extern.slf4j.Slf4j;

/**
 * @Author liuxianmeng
 * @CreateTime 2024/10/12 6:11
 * @Description 运维物理主机详细信息的封装类 包含所有指标
 */
@Data
@Slf4j
public class HostInfoBO {
    /**************** 操作系统信息 ****************/
    private String osName;      // 操作系统名称
    private String osVersion;   // 操作系统版本
    private String hostName;    // 主机名

    /**************** 内存信息 ****************/
    private long memoryTotal;               // 总内存 MB
    private long availableMemory;           // 可用内存 MB
    private long memoryUsed;                // 当前内存已使用量 MB
    private long memoryFree;                // 当前内存空闲量 MB

    /**************** CPU信息 ****************/
    private int coreCount;      // CPU核心数
    private String cpuModel;    // CPU型号
    private Double cpuLoad;     // CPU负载 以小数表示的负载（非%）

    /**************** 磁盘信息 ****************/
    private int diskTotal;               // 磁盘总大小 GB
    private int diskUsed;                // 磁盘已使用大小 GB
    private int diskFree;                // 磁盘未使用大小 GB

    /**************** 网络信息 ****************/
    private double rxBytesRate;   // 接收字节率（kB/s）
    private double txBytesRate;   // 发送字节率（kB/s）

    /**************** 系统负载信息 ****************/
    private double loadAverage1Minute;      // 1分钟平均负载 以小数表示的负载（非%）
    private double loadAverage5Minutes;     // 5分钟平均负载 以小数表示的负载（非%）
    private double loadAverage15Minutes;    // 15分钟平均负载 以小数表示的负载（非%）

    /**************** 系统启动时长信息 ****************/
    private int systemUptimeDays;      // 系统启动的天数
}